%---------------------------------------------------------------------------------------------------------------------------------------------------------------
% Affichage du plateu de jeu

affiche_plateau(Plateau):-write('+-----+-----+-----+-----+-----+'),nl,affiche_ligne(Plateau, 5, 1). % Affichage du plateau de jeu Appel de la fonction affiche_ligne 

affiche_ligne(Plateau, I, K):-I>=K,affiche_case(Plateau, I, 1, 5),write('|'),nl,write('+-----+-----+-----+-----+-----+'),nl,NewI is I-1,affiche_ligne(Plateau, NewI, K).
affiche_ligne(_, I, K):- I < K. % Affiche les lignes du plateau en affichant chaque case de la ligne

affiche_case(Plateau, Ligne, I, K):-I=<K,NumCase is Ligne*10+I,affiche_contenu_case(Plateau, NumCase),tab(2),NewI is I+1,affiche_case(Plateau, Ligne, NewI, K).
affiche_case(_, _, I, K):- I > K. % Affichage des cases. Pour chaque case on affiche son contenu avec affiche_contenu_case

affiche_contenu_case(_, _):-write('| '),fail. %Affichage du contours droit de la case
affiche_contenu_case(Plateau, NumCase):-nth0(2, Plateau, X),element(NumCase, X),write(' M'),!. %% affichage des montagnes, 
affiche_contenu_case(Plateau, NumCase):-nth0(1, Plateau, X),element((NumCase, n), X),write('Rn'),!. % Affichage des rhinos + orientation
affiche_contenu_case(Plateau, NumCase):-nth0(1, Plateau, X),element((NumCase, s), X),write('Rs'),!.
affiche_contenu_case(Plateau, NumCase):-nth0(1, Plateau, X),element((NumCase, w), X),write('Ro'),!.
affiche_contenu_case(Plateau, NumCase):-nth0(1, Plateau, X),element((NumCase, e), X),write('Re'),!.
affiche_contenu_case(Plateau, NumCase):-nth0(0, Plateau, X),element((NumCase, n), X),write('En'),!. % Affichage des elephants + orientation
affiche_contenu_case(Plateau, NumCase):-nth0(0, Plateau, X),element((NumCase, s), X),write('Es'),!.
affiche_contenu_case(Plateau, NumCase):-nth0(0, Plateau, X),element((NumCase, w), X),write('Eo'),!.
affiche_contenu_case(Plateau, NumCase):-nth0(0, Plateau, X),element((NumCase, e), X),write('Ee'),!.
affiche_contenu_case(_, _):-write('  ').